Kurvenscheiben programmatisch erstellen
Das Beispielprojekt BasicMotion_CreateCamTableOnline.project
ist im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples
zu finden.
Das Beispiel zeigt, wie Sie eine Kurvenscheibe im IEC-Code erstellen und verwenden können. Dabei wird auf die folgenden Punkte eingegangen:
Eine im Kurvenscheibeneditor erzeugte Kurvenscheibe wird im IEC-Code nachgebaut.
In einem Fall wird die Kurvenscheibe in der Bus-Task erzeugt.
Im anderen Fall wird die Kurvenscheibe in einer eigenen Task erzeugt.
Alle drei Kurvenscheiben werden abschließend mit der gleichen Masterachse und unterschiedlichen Slaveachsen ausgeführt. Die Bewegung der drei Slaves ist dabei identisch.
Die im IEC-Code erzeugte Kurvenscheibe wird in der Visualisierung dargestellt.
Für weitere Informationen rund um die programmatische Erstellung von Kurvenscheiben siehe: Programmatisches Anlegen von Kurvenscheiben
Aufbau der Applikation
Die Applikation besteht aus den folgenden Bestandteilen:
CamOffline
Die im Kurvenscheibeneditor erzeugte Kurvenscheibe, die im IEC-Code nachgebaut werden soll.
PLC_PRG
Das Programm besteht aus einer einfachen Zustandsmaschine und logisch gesehen aus drei Teilen. Im ersten und zweiten Teil wird eine Kurvenscheibe im IEC-Code erstellt. Im dritten Teil werden die zuvor erstellten Kurvenscheiben sowie eine offline angelegte, identische Kurvenscheibe ausgeführt.
Teil 1:
Im ersten Zustand
STATE_CREATE_ONLINE_TABLE
wird eine Kurvenscheibe im IEC-Code angelegt. Dazu wird der Baustein SMCB.CamBuilder aus der BibliothekSM3_CamBuilder
verwendet. Es werden 3 Segmente angehängt: Ein Poly5-Element gefolgt von einem Line-Element und einem weiteren Poly5-Element. Der Builder erzeugt daraus eine Kurvenscheibe CamOnline. Ab diesem Zeitpunkt ist die Kurvenscheibe im IEC-Code angelegt und kann, wie die offline im Kurvenscheibeneditor angelegte Kurvenscheibe CamOffline, verwendet werden.Teil 2:
In den Zuständen
STATE_INIT_ONLINE_TABLE_MULTITASK
,STATE_START_CREATE_ONLINE_TABLE_MULTITASK
undSTATE_READ_ONLINE_TABLE_MULTITASK
wird das Anlegen der Kurvenscheibe in einer anderen Task gestartet und abschließend wird diese ausgelesen.Teil 3:
Im Zustand
STATE_POWER_DRIVES
werden die virtuellen Achsen für den Master und der drei Slaveachsen initialisiert. Daraufhin werden die Kurvenscheiben mitMC_CamTableSelect
im ZustandSTATE_SELECT_TABLE
ausgewählt und im finalen ZustandSTATE_MOVEMENT
ausgeführt. Die Masterachse wird mitMC_MoveVelocity
bewegt und dient als Master für die drei Kurvenscheiben.
MultitaskCamBuilder
Ein Programm, das, wie in Teil 1 von
PLC_PRG
beschrieben, eine Kurvenscheibe erzeugt. Einziger Unterschied ist hier, dass eine Multitask/Multicore sichere Variante der Kurvenscheibe verwendet wird.GVL
Hier ist die Multitask/Multicore sichere Variante der Kurvenscheibe instanziiert.
Visualization
Die Visualisierung beinhaltet das Element
SMC_Visu_CamDisplayer
zum Darstellen von Kurvenscheiben. Es wird die in Teil 1 vonPLC_PRG
erzeugte Kurvenscheibe angezeigt.CamDisplayerSettings
Zusätzliche Elemente für die Darstellung der Kurvenscheibe in
Visualization
Trace
Mithilfe des Trace können Sie die Bewegung der virtuellen Achsen nachvollziehen. Es wird die aktuelle Position des Masters, sowie die Position, Geschwindigkeit und Beschleunigung der drei Slaveachsen aufgezeichnet.
Inbetriebnahme
Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.
Starten Sie den Trace und die Applikation.
Beobachten Sie die Traceaufzeichnung
Anzeige der erzeugten Kurvenscheibe in der Visualisierung